﻿using GDM.Hogar.Entidades;
using GDM.Hogar.Managers.Contratos;
using GDM.Hogar.Repositorios.Contratos;
using System;
using System.Collections.Generic;

namespace GDM.Hogar.Managers
{
    public class ParteDiarioComedorManager : IParteDiarioComedorManager
    {
        private readonly IParteDiarioComedorRepositorio _parteDiarioComedorRepositorio;

        public ParteDiarioComedorManager(IParteDiarioComedorRepositorio parteDiarioComedorRepositorio)
        {
            if (parteDiarioComedorRepositorio == null)
            {
                throw new ArgumentNullException("parteDiarioComedorRepositorio");
            }
            _parteDiarioComedorRepositorio = parteDiarioComedorRepositorio;
        }

        public void ActualizarParteDiarioComedor(string parteDiarioComedor)
        {
            _parteDiarioComedorRepositorio.ActualizarParteDiarioComedor(parteDiarioComedor);
        }

        public bool ExisteParteDiarioComedor(DateTime fecha)
        {
            var parteDiarioComedor = _parteDiarioComedorRepositorio.ObtenerParteDiarioComedor(fecha);
            return parteDiarioComedor != null;
        }

        public void GuardarParteDiarioComedor(string parteDiarioComedor)
        {
            _parteDiarioComedorRepositorio.GuardarParteDiarioComedor(parteDiarioComedor);
        }

        public IList<ConsultaParteDiarioComedor> ObtenerPartesDiarioComedor(int mes, int año)
        {
            return _parteDiarioComedorRepositorio.ObtenerPartesDiarioComedor(mes, año);
        }

        public void ActivarParteDiarioComedor(int parteDiarioComedorId, bool activo)
        {
            _parteDiarioComedorRepositorio.ActivarParteDiarioComedor(parteDiarioComedorId, activo);
        }
    }
}